﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DesignerCategory("code"), GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough, XmlType(Namespace="http://www.onvif.org/ver10/schema")]
    public class PTZSpaces
    {
        private Space2DDescription[] absolutePanTiltPositionSpaceField;
        private Space1DDescription[] absoluteZoomPositionSpaceField;
        private XmlAttribute[] anyAttrField;
        private Space2DDescription[] continuousPanTiltVelocitySpaceField;
        private Space1DDescription[] continuousZoomVelocitySpaceField;
        private PTZSpacesExtension extensionField;
        private Space1DDescription[] panTiltSpeedSpaceField;
        private Space2DDescription[] relativePanTiltTranslationSpaceField;
        private Space1DDescription[] relativeZoomTranslationSpaceField;
        private Space1DDescription[] zoomSpeedSpaceField;

        [XmlElement("AbsolutePanTiltPositionSpace", Order=0)]
        public Space2DDescription[] AbsolutePanTiltPositionSpace
        {
            get
            {
                return this.absolutePanTiltPositionSpaceField;
            }
            set
            {
                this.absolutePanTiltPositionSpaceField = value;
            }
        }

        [XmlElement("AbsoluteZoomPositionSpace", Order=1)]
        public Space1DDescription[] AbsoluteZoomPositionSpace
        {
            get
            {
                return this.absoluteZoomPositionSpaceField;
            }
            set
            {
                this.absoluteZoomPositionSpaceField = value;
            }
        }

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement("ContinuousPanTiltVelocitySpace", Order=4)]
        public Space2DDescription[] ContinuousPanTiltVelocitySpace
        {
            get
            {
                return this.continuousPanTiltVelocitySpaceField;
            }
            set
            {
                this.continuousPanTiltVelocitySpaceField = value;
            }
        }

        [XmlElement("ContinuousZoomVelocitySpace", Order=5)]
        public Space1DDescription[] ContinuousZoomVelocitySpace
        {
            get
            {
                return this.continuousZoomVelocitySpaceField;
            }
            set
            {
                this.continuousZoomVelocitySpaceField = value;
            }
        }

        [XmlElement(Order=8)]
        public PTZSpacesExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement("PanTiltSpeedSpace", Order=6)]
        public Space1DDescription[] PanTiltSpeedSpace
        {
            get
            {
                return this.panTiltSpeedSpaceField;
            }
            set
            {
                this.panTiltSpeedSpaceField = value;
            }
        }

        [XmlElement("RelativePanTiltTranslationSpace", Order=2)]
        public Space2DDescription[] RelativePanTiltTranslationSpace
        {
            get
            {
                return this.relativePanTiltTranslationSpaceField;
            }
            set
            {
                this.relativePanTiltTranslationSpaceField = value;
            }
        }

        [XmlElement("RelativeZoomTranslationSpace", Order=3)]
        public Space1DDescription[] RelativeZoomTranslationSpace
        {
            get
            {
                return this.relativeZoomTranslationSpaceField;
            }
            set
            {
                this.relativeZoomTranslationSpaceField = value;
            }
        }

        [XmlElement("ZoomSpeedSpace", Order=7)]
        public Space1DDescription[] ZoomSpeedSpace
        {
            get
            {
                return this.zoomSpeedSpaceField;
            }
            set
            {
                this.zoomSpeedSpaceField = value;
            }
        }
    }
}

